Methods, apparatus, computer programs, and non-transitory computer readable storage mediums for controlling at least one of a first robot and a second robot to collaborate within a system

ABSTRACT

A method of controlling at least one of a first robot and a second robot to collaborate within a system, the first robot and the second robot being physically separate to one another, the method including: receiving sensed data associated with the second robot; determining position and/or orientation of the second robot using the received sensed data; determining an action for the second robot using the determined position and/or orientation of the second robot; and providing a control signal to the second robot to cause the second robot to perform the determined action to collaborate with the first robot.

TECHNOLOGICAL FIELD

The present disclosure concerns methods, apparatus, computer programs,and non-transitory computer readable storage mediums for controlling atleast one of a first robot and a second robot to collaborate within asystem.

BACKGROUND

During operation of a gas turbine engine, internal components may becomeworn and/or damaged over a period of time. During servicing, a borescopemay be inserted into the gas turbine engine to enable an operator toinspect the internal components. Where one or more components aredetermined to be worn and/or damaged, the gas turbine engine may requiredisassembly so that the one or more components may be accessed andrepaired. This may be a relatively time consuming and costly procedure.

BRIEF SUMMARY

According to various examples there is provided a method of controllingat least one of a first robot and a second robot to collaborate within asystem, the first robot and the second robot being physically separateto one another, the method comprising: receiving sensed data associatedwith the second robot; determining position and/or orientation of thesecond robot using the received sensed data; determining an action forthe second robot using the determined position and/or orientation of thesecond robot; and providing a control signal to the second robot tocause the second robot to perform the determined action to collaboratewith the first robot.

The sensed data may be associated with a first end of the second robot.The first end may comprise one or more devices for performing thedetermined action.

The method may further comprise controlling a three dimensional scannerto obtain the sensed data.

The three dimensional scanner may be mounted on the first robot.

Controlling the three dimensional scanner may include: controlling anemitter to emit electromagnetic waves, the sensed data being receivedfrom an electromagnetic wave sensor.

Controlling the three dimensional scanner may include: controlling anultrasonic transducer to emit ultrasonic waves, the sensed data beingreceived from the ultrasonic transducer.

The method may further comprise controlling a magnetic transmitterarrangement to provide one or more magnetic fields, the second robotbeing at least partially positioned within the one or more magneticfields, the sensed data being received from a magnetic field sensormounted on the second robot.

Determining the action for the second robot may further comprise usingstored data of the structure of the system.

The determined action may include movement relative to the system.

The determined action may include holding an object within the system toprevent movement of the object within the system.

The determined action may include obtaining one or more images of thefirst robot and/or the system.

The determined action may include machining an object within the system.

The method may further comprise: receiving sensed data associated withthe first robot; determining position and/or orientation of the firstrobot using the received sensed data; determining an action for thefirst robot using the determined position and/or orientation of thefirst robot; and providing a control signal to the first robot to causethe first robot to perform the determined action to collaborate with thesecond robot.

According to various examples there is provided a computer program that,when read by a computer, causes performance of the method as describedin any of the preceding paragraphs.

According to various examples there is provided a non-transitorycomputer readable storage medium comprising computer readableinstructions that, when read by a computer, cause performance of themethod as described in any of the preceding paragraphs.

According to various examples there is provided apparatus forcontrolling at least one of a first robot and a second robot tocollaborate within a system, the first robot and the second robot beingphysically separate to one another, the apparatus comprising acontroller configured to: receive sensed data associated with the secondrobot; determine position and/or orientation of the second robot usingthe received sensed data; determine an action for the second robot usingthe determined position and/or orientation of the second robot; andprovide a control signal to the second robot to cause the second robotto perform the determined action to collaborate with the first robot.

The sensed data may be associated with a first end of the second robot.The first end may comprise one or more devices for performing thedetermined action.

The controller may be configured to control a three dimensional scannerto obtain the sensed data.

The three dimensional scanner may be mounted on the first robot.

The controller may be configured to control an emitter to emitelectromagnetic waves, the sensed data being received from anelectromagnetic wave sensor.

The controller may be configured to control an ultrasonic transducer toemit ultrasonic waves, the sensed data being received from theultrasonic transducer.

The controller may be configured to control a magnetic transmitterarrangement to provide one or more magnetic fields, the second robotbeing at least partially positioned within the one or more magneticfields, the sensed data being received from a magnetic field sensormounted on the second robot.

Determining the action for the second robot may further comprise usingstored data of the structure of the system.

The determined action may include movement relative to the system.

The determined action may include holding an object within the system toprevent movement of the object within the system.

The determined action may include obtaining one or more images of thefirst robot and/or the system.

The determined action may include machining an object within the system.

The controller may be configured to: receiving sensed data associatedwith the first robot; determining position and/or orientation of thefirst robot using the received sensed data; determining an action forthe first robot using the determined position and/or orientation of thefirst robot; and providing a control signal to the first robot to causethe first robot to perform the determined action to collaborate with thesecond robot.

The apparatus may further comprise: the first robot including a firstcontroller and a first actuator; and the second robot including a secondcontroller and a second actuator.

The first robot may be a continuum robot having a first base, the firstcontroller and the first actuator may be housed within the first base,and wherein the second robot may be a continuum robot having a secondbase, the second controller and the second actuator may be housed withinthe second base, the first base and the second base may be movablerelative to one another.

The first robot and the second robot may each comprise a first endhaving an interface for interchangeably receiving at least a firstdevice and a second device.

The first device may include one or more of: imaging apparatus;machining apparatus; clamping apparatus, and the second device includesone or more of:

imaging apparatus; machining apparatus; clamping apparatus.

The skilled person will appreciate that except where mutually exclusive,a feature described in relation to any one of the above aspects may beapplied mutatis mutandis to any other aspect. Furthermore except wheremutually exclusive any feature described herein may be applied to anyaspect and/or combined with any other feature described herein.

BRIEF DESCRIPTION

Embodiments will now be described by way of example only, with referenceto the Figures, in which:

FIG. 1 illustrates a schematic diagram of apparatus according to variousexamples;

FIG. 2 illustrates a flow diagram of a method of controlling a secondrobot to collaborate with a first robot within a system according tovarious examples;

FIG. 3 illustrates a schematic cross sectional view of a gas turbineengine, a first robot, and a second robot according to various examples;and

FIG. 4 illustrates a flow diagram of a method of controlling a firstrobot to collaborate with a second robot within a system according tovarious examples.

DETAILED DESCRIPTION

In the following description, the terms ‘connected’ and ‘coupled’ meanoperationally connected and coupled. It should be appreciated that theremay be any number of intervening components between the mentionedfeatures, including no intervening components.

FIG. 1 illustrates a schematic diagram of an apparatus 10 according tovarious examples, and a system 11. The apparatus 10 includes acontroller 12, a user input device 14, a display 16, a sensorarrangement 18, a first robot 20, and a second robot 22.

In some examples, the apparatus 10 may be a module. As used herein, thewording ‘module’ refers to a device or apparatus where one or morefeatures are included at a later time and, possibly, by anothermanufacturer or by an end user. For example, where the apparatus 10 is amodule, the apparatus 10 may only include the controller 12, and theremaining features (such as the user input device 14, the display 16,the sensor arrangement 18, the first robot 20, and the second robot 22)may be added by another manufacturer, or by an end user.

The system 11 may comprise any mechanical or electro-mechanical system,or may comprise part of such a system. For example, the system 11 maycomprise a part, or the whole, of a gas turbine engine. By way ofanother example, the system 11 may comprise at least a part of a dieselengine. By way of a further example, the system 11 may comprise at leasta part of an industrial generator. By way of another example, the system11 may comprise at least a part of a nuclear reactor (such as a nuclearpressure vessel). By way of a further example, the system 11 maycomprise at least a part of a thruster (such as an azimuth thruster) fora marine vessel.

The system 11 includes a plurality of objects 11 ₁, 11 ₂, 11 ₃, 11 ₄, 11₅, 11 ₆ Where the system 11 is at least a part of a gas turbine engine,the plurality of objects 11 ₁, 11 ₂, 11 ₃, 11 ₄, 11 ₅, 11 ₆ may becomponents or assemblies within the gas turbine engine. For example, theplurality of objects 11 ₁, 11 ₂, 11 ₃, 11 ₄, 11 ₅, 11 ₆ may includeaerofoils (such as compressor or turbine blades) within a gas turbineengine.

The controller 12, the user input device 14, the display 16, the sensorarrangement 18, the first robot 20 and the second robot 22 may becoupled to one another via a wireless link and may consequently comprisetransceiver circuitry and one or more antennas. Additionally oralternatively, the controller 12, the user input device 14, the display16, the sensor arrangement 18, the first robot 20 and the second robot22 may be coupled to one another via a wired link and may consequentlycomprise interface circuitry (such as a Universal Serial Bus (USB)socket). It should be appreciated that the controller 12, the user inputdevice 14, the display 16, the sensor arrangement 18, the first robot 20and the second robot 22 may be coupled to one another via anycombination of wired and wireless links.

The controller 12 may comprise any suitable circuitry to causeperformance of the methods described herein and as illustrated in FIGS.2 and 4. The controller 12 may comprise: control circuitry; and/orprocessor circuitry; and/or at least one application specific integratedcircuit (ASIC); and/or at least one field programmable gate array(FPGA); and/or single or multi-processor architectures; and/orsequential/parallel architectures; and/or at least one programmablelogic controllers (PLCs); and/or at least one microprocessor; and/or atleast one microcontroller; and/or a central processing unit (CPU);and/or a graphics processing unit (GPU), to perform the methods.

In various examples, the controller 12 may comprise at least oneprocessor 24 and at least one memory 26. The memory 26 stores a computerprogram 28 comprising computer readable instructions that, when read bythe processor 24, causes performance of the methods described herein,and as illustrated in FIGS. 2 and 4. The computer program 28 may besoftware or firmware, or may be a combination of software and firmware.

The processor 24 may include at least one microprocessor and maycomprise a single core processor, may comprise multiple processor cores(such as a dual core processor or a quad core processor), or maycomprise a plurality of processors (at least one of which may comprisemultiple processor cores).

The memory 26 may be any suitable non-transitory computer readablestorage medium, data storage device or devices, and may comprise a harddisk and/or solid state memory (such as flash memory). The memory 26 maybe permanent non-removable memory, or may be removable memory (such as auniversal serial bus (USB) flash drive or a secure digital card). Thememory 26 may include: local memory employed during actual execution ofthe computer program; bulk storage; and cache memories which providetemporary storage of at least some computer readable or computer usableprogram code to reduce the number of times code may be retrieved frombulk storage during execution of the code.

The computer program 28 may be stored on a non-transitory computerreadable storage medium 30. The computer program 28 may be transferredfrom the non-transitory computer readable storage medium 30 to thememory 26. The non-transitory computer readable storage medium 30 maybe, for example, a USB flash drive, a secure digital (SD) card, anoptical disc (such as a compact disc (CD), a digital versatile disc(DVD) or a Blu-ray disc). In some examples, the computer program 28 maybe transferred to the memory 26 via a signal 32 (which may be a wirelesssignal or a wired signal).

The memory 26 also stores data 33 of the structure of the system 11. Forexample, where the system 11 is a part, or the whole, of a gas turbineengine, the data 33 includes data for the internal structure of the gasturbine engine. The data 33 may include one or more computer aideddesign (CAD) files 33 of the structure of the system 11. The data 33 maydefine a two dimensional (2D) structure or a three dimensional (3D)structure.

Input/output devices may be coupled to the apparatus 10 either directlyor through intervening input/output controllers. Various communicationadaptors may also be coupled to the controller 12 to enable theapparatus 10 to become coupled to other apparatus or remote printers orstorage devices through intervening private or public networks.Non-limiting examples include modems and network adaptors of suchcommunication adaptors.

The user input device 14 may comprise any suitable device for enablingan operator to at least partially control the apparatus 10. For example,the user input device 14 may comprise one or more of a keyboard, akeypad, a touchpad, a touchscreen display, and a computer mouse. Thecontroller 12 is configured to receive signals from the user inputdevice 14.

The display 16 may be any suitable display for conveying information toan operator of the apparatus 10. For example, the display 16 may be aliquid crystal display (LCD), a light emitting diode (LED) display, oran active matrix organic light emitting diode (AMOLED) display, or athin film transistor (TFT) display, or a cathode ray tube display,and/or a loudspeaker, and/or a printer (such as an inkjet printer or alaser printer). The controller 12 is arranged to provide a signal to thedisplay 16 to cause the display 16 to convey information to theoperator.

The sensor arrangement 18 may comprise any suitable sensor or sensorsfor enabling the apparatus 10 to determine the position and/ororientation of at least the second robot 22 within the system 11. Thesensor arrangement 18 may also comprise any suitable sensor or sensorsfor enabling the apparatus 10 to determine the position and/ororientation of the first robot 20 within the system 11. The sensorarrangement 18 is configured to generate sensed data and the controller12 is configured to receive the sensed data from the sensor arrangement18.

The sensor arrangement 18 may comprise a magnetic transmitterarrangement 34 that is configured to provide one or more magneticfields. The system 11 and the magnetic transmitter arrangement 34 arepositioned relative to one another so that at least a part of the system11 is positioned within the one or more magnetic fields. The controller12 is configured to control the magnetic transmitter arrangement 34 toprovide the one or more magnetic fields.

The sensor arrangement 18 may include a first magnetic field sensor 36that is mounted on the first robotic 20. The first magnetic field sensor36 is configured to sense the magnetic field generated by the magnetictransmitter arrangement 34 and to provide the sensed magnetic field tothe controller 12. In various examples, the first magnetic field sensor36 comprises three separate conductive coils that are arrangedorthogonal to one another so that the position and orientation of thefirst robot 20 may be determined by the controller 12.

The sensor arrangement 18 may include a second magnetic field sensor 38that is mounted on the second robotic 22. The second magnetic fieldsensor 38 is configured to sense the magnetic field generated by themagnetic transmitter arrangement 34 and to provide the sensed magneticfield to the controller 12. In various examples, the second magneticfield sensor 38 comprises three separate conductive coils that arearranged orthogonal to one another so that the position and orientationof the second robot 22 may be determined by the controller 12.

The sensor arrangement 18 may include a first three dimensional scanner40 which may be mounted on the first robot 20. The first threedimensional scanner 40 may include an emitter that is configured to emitelectromagnetic waves (for example, optical light, infra-red radiation,X-rays), and an electromagnetic wave sensor (such as a charge coupleddevice (CCD) camera, or a complementary metal oxide semiconductor (CMOS)sensor) that is configured to receive electromagnetic waves and generatesensed data. In other examples, the first three dimensional scanner 40may include an ultrasonic transducer that is configured to emitultrasonic waves and to receive reflected ultrasonic waves and generatesensed data.

The sensor arrangement 18 may include a second three dimensional scanner42 which may be mounted on the second robot 22. The second threedimensional scanner 42 may include an emitter that is configured to emitelectromagnetic waves (for example, optical light, infra-red radiation,X-rays), and an electromagnetic wave sensor (such as a charge coupleddevice (CCD) camera, or a complementary metal oxide semiconductor (CMOS)sensor) that is configured to receive electromagnetic waves and generatesensed data. In other examples, the second three dimensional scanner 42may include an ultrasonic transducer that is configured to emitultrasonic waves and to receive reflected ultrasonic waves and generatesensed data.

The first robot 20 may comprise any suitable machinery for enablinginspection, and/or machining, and/or clamping of one or more of theplurality of objects 11 ₁, 11 ₂, 11 ₃, 11 ₄, 11 ₅, 11 ₆ within thesystem 11. In various examples, the first robot 20 may be a continuumrobot (which may also be referred to as a ‘snake’ robot) that includes abase and an elongate member that extends (or is extendable from) fromthe base.

The first robot 20 may comprise: a first controller 44, a first actuator46, and a first interface 48. The first controller 44 may be a ‘lowlevel controller’ that is configured to receive a control signal fromthe controller 12 and then provide controls signals to the firstactuator 46 to control the first robot 20. The first actuator 46 mayinclude one or more servo motors (or any other suitable mechanism ormechanisms) that are configured to move the first robot 20 relative tothe system 11. The first interface 48 is configured to interchangeablyreceive various devices. For example, the first interface 48 may beconnected to, and disconnected from, an inspection device (such as acharge coupled devices (CCD) camera or complementary metal oxidesemiconductor (CMOS) cameras), a machine tool, or a clamp.

The second robot 22 may comprise any suitable machinery for enablinginspection, and/or machining, and/or clamping of one or more of theplurality of objects 11 ₁, 11 ₂, 11 ₃, 11 ₄, 11 ₅, 11 ₆ within thesystem 11. In various examples, the second robot 22 may be a continuumrobot (which may also be referred to as a ‘snake’ robot) that includes abase and an elongate member that extends (or is extendable from) fromthe base.

The second robot 22 may comprise: a second controller 50, a secondactuator 52, and a second interface 48. The second controller 50 may bea ‘low level controller’ that is configured to receive a control signalfrom the controller 12 and then provide controls signals to the secondactuator 52 to control the second robot 22. The second actuator 52 mayinclude one or more servo motors that are configured to move the secondrobot 22 relative to the system 11. The second interface 54 isconfigured to interchangeably receive various devices. For example, thesecond interface 54 may be connected to, and disconnected from, aninspection device (such as a charge coupled devices (CCD) camera orcomplementary metal oxide semiconductor (CMOS) cameras), a machine tool,or a clamp.

It should be appreciated that the apparatus 10 may comprise any numberof robots (that is, more robots than the first robot 20 and the secondrobot 22) that collaborate with one another. Furthermore, the apparatus10 may comprise a plurality of subsets of robots, where each subset ofrobots includes a plurality of robots that collaborate with one another.

The operation of the apparatus 10 is described in the followingparagraphs with reference to FIGS. 1 to 4.

FIG. 3 illustrates a schematic cross sectional view of a gas turbineengine 11, the first robot 20, and the second robot 22 according tovarious examples. The gas turbine engine 11 includes a case 11 ₁, arotor 11 ₂, a plurality of aerofoils 11 ₃ (a single aerofoil isillustrated in FIG. 3 to maintain the clarity of the figure), a firstborescope port 11 ₄, a second borescope port 11 ₅, a third borescopeport 11 ₆, and a fourth borescope port 11 ₇.

The first robot 20 is a continuum robot including a base 20 ₁ housingthe first actuator 46 and the first controller 44. The first robot 20also includes an elongate member 20 ₂ (which may also be referred to asa snake arm) that extends from (or is extendable from) the base 20 ₁.One end of the elongate member 20 ₂ is coupled to the base 20 ₁ and theopposite end comprises the first interface 48.

The second robot 22 is a continuum robot including a base 22 ₁ housingthe second actuator 52 and the second controller 50. The second robot 22also includes an elongate member 22 ₂ (which may also be referred to asa snake arm) that extends from (or is extendable from) the base 22 ₁.One end of the elongate member 22 ₂ is coupled to the base 22 ₁ and theopposite end comprises the second interface 54.

As explained in the preceding paragraphs, the first robot 20 and thesecond robot 22 are physically separate from one another andconsequently, the base 20 ₁ of the first robot 20 may be moved relativeto the base 22 ₁ of the second robot 22.

As illustrated in FIG. 3, the elongate member 20 ₂ of the first robot 20has been inserted into the first borescope port 11 ₄ and towards theaerofoil 11 ₃, and the elongate member 22 ₂ of the second robot 22 hasbeen inserted in to the second borescope port 11 ₅ and also towards theaerofoil 11 ₃.

FIG. 2 illustrates a flow diagram of a method of controlling the secondrobot 22 to collaborate with the first robot 20 within the gas turbineengine 11 according to various examples.

At block 56 the method may include controlling the sensor arrangement 18to obtain sensed data. For example, the controller 12 may send a controlsignal to the sensor arrangement 18 to obtain sensed data. Where thesensor arrangement 18 includes the magnetic transmitter arrangement 34and the second magnetic field sensor 38 mounted on the second robot 22(for example, the second magnetic field sensor 38 may be mounted at theend of the elongate member 22 ₂ adjacent the second interface 54), thecontroller 12 may control the magnetic transmitter arrangement 34 toemit one or more magnetic fields. Where the sensor arrangement 18includes the first three dimensional scanner 40 (for example, the firstthree dimensional scanner 40 may be mounted at the end of the elongatemember 20 ₁ adjacent the first interface 48), the controller 12 maycontrol an emitter of the first three dimensional scanner 40 to emitelectromagnetic waves, or ultrasonic waves towards the second robot 22.

At block 58, the method includes receiving sensed data associated withthe second robot 22. The sensed data is ‘associated’ with the secondrobot 22 in that the sensed data includes information that enables thecontroller 12 to determine the position and/or orientation of the secondrobot 22.

For example, where the sensor arrangement 18 includes the secondmagnetic field sensor 38, the controller 12 may receive sensed dataassociated with the second robot 22 from the second magnetic fieldsensor 38. In this example, the sensed data is associated with thesecond robot 22 in that the sensed data is generated by the secondmagnetic field sensor 38 that is located on the second robot 22 andtherefore includes information on the position and/or orientation of thesecond robot 22.

By way of another example, where the sensor arrangement 18 includes thefirst three dimensional scanner 40, the controller 12 may receive senseddata associated with the second robot 22 from the first threedimensional scanner 40. In this example, the sensed data is associatedwith the second robot 22 in that the sensed data is generated fromelectromagnetic waves or ultrasonic waves that are reflected from thesecond robot 22 and therefore includes information from which thecontroller 12 may determine the position and/or orientation of thesecond robot 22.

At block 60, the method includes determining position and/or orientationof the second robot 22 using the received sensed data. For example,where the second magnetic field sensor 38 is mounted at the end of thesecond robot 22 and adjacent the second interface 54, the controller 12may use the received sensed data to determine the position and/ororientation of the end of the second robot 22. By way of anotherexample, where the sensor arrangement 18 includes the first threedimensional scanner 40 mounted on the first robot 20, the controller 12may use the received sensed data to determine the position and/ororientation of the second robot 22 using triangulation, time of flight,or conoscopic holography algorithms for example.

At block 62, the method includes determining an action for the secondrobot 22 using the determined position and/or orientation of the secondrobot 22. For example, an operator may use the user input device 14 todefine a target location on a graphical representation of the gasturbine engine 11 displayed by the display 16 (the graphicalrepresentation may be generated from the stored data 33 of the structureof the gas turbine engine 11). The controller 12 may compare theposition and/or orientation of the target location with the determinedposition and/or orientation of the second robot 22 to determine anaction for the second robot 22.

Where the second robot 22 is not positioned at the target location, thecontroller 12 may determine that the second robot 22 is to move relativeto the gas turbine engine 11 and towards the target location.

Where the second robot 22 is positioned close to, or at, the targetlocation and includes a clamp connected to the second interface 54, thecontroller 12 may determine that the second robot 22 is to hold theaerofoil 11 ₃ to prevent movement of the aerofoil 11 ₃ within the gasturbine engine 11.

Where the second robot 22 is positioned close to, or at, the targetlocation and includes a camera (such as a CCD camera or a CMOS camera),the controller 12 may determine that the camera is to be controlled toobtain one or more images of the first robot 20 and/or the gas turbineengine 11 (such as the aerofoil 11 ₃).

Where the second robot 22 is positioned close to, or at, the targetlocation and includes a machine tool, the controller 12 may determinethat the machine tool is to be controlled to machine the aerofoil 11 ₃within the gas turbine engine 11.

The controller 12 may determine the action for the second robot 22 bytaking into account the action being performed (or to be performed) bythe first robot 20. For example, where the first robot 20 has clampedthe aerofoil 11 ₃, the controller 12 may then determine that theaerofoil 11 ₃ is to be machined by the second robot 22.

At block 64, the method includes providing a control signal 66 to thesecond robot 22 to cause the second robot 22 to perform the determinedaction to collaborate with the first robot 20. For example, thecontroller 12 may generate a control signal 66 using the actiondetermined at block 62 and then provide the control signal 66 to thesecond robot 22. The second controller 50 of the second robot 22 maythen use the control signal 66 to control the second actuator 52 to movethe second robot 22. Where the controller 12 determines at block 62 thatthe second robot 22 is to move and/or inspect and/or machine and/orclamp, the control signal 66 includes instructions that cause the secondrobot 22 to move and/or inspect and/or machine and/or clamprespectively.

It should be appreciated that the controller 12 may use the stored data33 of the structure of the gas turbine engine 11 to generate the controlsignal. For example, the controller 12 may generate a movement controlsignal using the stored data 33 so that the elongate member 22 ₂ of thesecond robot 22 moves towards the aerofoil 11 ₃ and avoids collisionswith other objects within the gas turbine engine 11.

The method may then return to block 56 or may end.

FIG. 4 illustrates a flow diagram of a method of controlling the firstrobot 20 to collaborate with the second robot 22 within the gas turbineengine 11 according to various examples.

At block 68, the method may include controlling the sensor arrangement18 to obtain sensed data. For example, the controller 12 may send acontrol signal to the sensor arrangement 18 to obtain sensed data. Wherethe sensor arrangement 18 includes the magnetic transmitter arrangement34 and the first magnetic field sensor 36 mounted on the first robot 20(for example, the first magnetic field sensor 36 may be mounted at theend of the elongate member 20 ₂ adjacent the first interface 48), thecontroller 12 may control the magnetic transmitter arrangement 34 toemit one or more magnetic fields. Where the sensor arrangement 18includes the second three dimensional scanner 42 (for example, thesecond three dimensional scanner 42 may be mounted at the end of theelongate member 22 ₁ adjacent the second interface 54), the controller12 may control an emitter of the second three dimensional scanner 42 toemit electromagnetic waves, or ultrasonic waves towards the first robot20.

At block 70, the method includes receiving sensed data associated withthe first robot 20. The sensed data is ‘associated’ with the first robot20 in that the sensed data includes information that enables thecontroller 12 to determine the position and/or orientation of the firstrobot 20.

For example, where the sensor arrangement 18 includes the first magneticfield sensor 36, the controller 12 may receive sensed data associatedwith the first robot 20 from the first magnetic field sensor 36. In thisexample, the sensed data is associated with the first robot 20 in thatthe sensed data is generated by the first magnetic field sensor 36 thatis located on the first robot 20 and therefore includes information onthe position and/or orientation of the first robot 20.

By way of another example, where the sensor arrangement 18 includes thesecond three dimensional scanner 42, the controller 12 may receivesensed data associated with the first robot 20 from the second threedimensional scanner 42.

In this example, the sensed data is associated with the first robot 20in that the sensed data is generated from electromagnetic waves orultrasonic waves that are reflected from the first robot 20 andtherefore includes information from which the controller 12 maydetermine the position and/or orientation of the first robot 20.

At block 72, the method includes determining position and/or orientationof the first robot 20 using the received sensed data. For example, wherethe first magnetic field sensor 36 is mounted at the end of the firstrobot 20 and adjacent the first interface 48, the controller 12 may usethe received sensed data to determine the position and/or orientation ofthe end of the first robot 20. By way of another example, where thesensor arrangement 18 includes the second three dimensional scanner 42mounted on the second robot 22, the controller 12 may use the receivedsensed data to determine the position and/or orientation of the firstrobot 20 using triangulation, time of flight, or conoscopic holographyalgorithms for example.

At block 74, the method includes determining an action for the firstrobot 20 using the determined position and/or orientation of the firstrobot 20. For example, an operator may use the user input device 14 todefine a target location on a graphical representation of the gasturbine engine 11 displayed by the display 16 (the graphicalrepresentation may be generated from the stored data 33 of the structureof the gas turbine engine 11). The controller 12 may compare theposition and/or orientation of the target location with the determinedposition and/or orientation of the first robot 20 to determine an actionfor the first robot 20.

Where the first robot 20 is not positioned at the target location, thecontroller 12 may determine that the first robot 20 is to move relativeto the gas turbine engine 11 and towards the target location.

Where the first robot 20 is positioned close to, or at, the targetlocation and includes a clamp connected to the first interface 48, thecontroller 12 may determine that the first robot 20 is to hold theaerofoil 11 ₃ to prevent movement of the aerofoil 11 ₃ within the gasturbine engine 11.

Where the first robot 20 is positioned close to, or at, the targetlocation and includes a camera (such as a CCD camera or a CMOS camera),the controller 12 may determine that the camera is to be controlled toobtain one or more images of the second robot 22 and/or the gas turbineengine 11 (such as the aerofoil 11 ₃).

Where the first robot 20 is positioned close to, or at, the targetlocation and includes a machine tool, the controller 12 may determinethat the machine tool is to be controlled to machine the aerofoil 11 ₃within the gas turbine engine 11.

The controller 12 may determine the action for the first robot 20 bytaking into account the action being performed (or to be performed) bythe second robot 22. For example, where the second robot 22 has machinedthe aerofoil 11 ₃, the controller 12 may then determine that theaerofoil 11 ₃ is to be inspected by the first robot 20.

At block 76, the method includes providing a control signal 78 to thefirst robot 20 to cause the first robot 20 to perform the determinedaction to collaborate with the second robot 22. For example, thecontroller 12 may generate a control signal 78 using the actiondetermined at block 74 and then provide the control signal 78 to thefirst robot 20. The first controller 44 of the first robot 20 may thenuse the control signal 78 to control the first actuator 46 to move thefirst robot 20. Where the controller 12 determines at block 74 that thefirst robot 20 is to move and/or inspect and/or machine and/or clamp,the control signal 78 includes instructions that cause the first robot20 to move and/or inspect and/or machine and/or clamp respectively.

It should be appreciated that the controller 12 may use the stored data33 of the structure of the gas turbine engine 11 to generate the controlsignal 78. For example, the controller 12 may generate a movementcontrol signal using the stored data 33 so that the elongate member 20 ₂of the first robot 20 moves towards the aerofoil 11 ₃ and avoidscollisions with other objects within the gas turbine engine 11.

The method may then return to block 68 and may end.

The apparatus 10 and the methods described in the preceding paragraphsmay provide several advantages.

First, the apparatus 10 and the methods may enable two or more robots tocollaborate and complete an action within the system 11. For example,the first robot 20 may be controlled to machine the aerofoil 11 ₃ in thegas turbine engine 11, and the second robot 20 may be controlled toclamp the aerofoil 11 ₃ and thereby reduce machining vibrations causedby the first robot 20. By way of another example, the apparatus 10 maybe configured to deposit thermal barrier coatings in a combustor of agas turbine engine. In particular, one of the first and second robots20, 22 may be configured to cause a vacuum in the combustor, and theother of the first and second robots 20, 22 may comprise a depositiontool (for example, a plasma gun) for depositing the thermal barriercoating.

Second, since the first robot 20 and the second robot 22 are physicallyseparate from one another, the first robot 20 and the second robot 22may be optimally positioned relative to the system 11 to enable one ormore actions to be performed by the first and second robots 20, 22. Forexample, the first and second bases 20 ₁, 22 ₁ may be positioned so thatthe elongate members 20 ₂, 22 ₂ may be inserted through any of theborescope ports 11 ₄, 11 ₅, 11 ₆, 11 ₇ to enable one or more actions(such as inspection, clamping, machining) to be performed within the gasturbine engine. This may enable the apparatus 10 to perform a relativelylarge number of repairs within the gas turbine engine 11. This mayadvantageously reduce the number of repairs that require the gas turbineengine to be removed from an aircraft and may thus reduce the cost ofrepairing the gas turbine engine.

It will be understood that the invention is not limited to theembodiments above-described and various modifications and improvementscan be made without departing from the concepts described herein. Forexample, the different embodiments may take the form of an entirelyhardware embodiment, an entirely software embodiment, or an embodimentcontaining both hardware and software elements. While the methodsillustrated in FIGS. 2 and 4 have been described in relation to a gasturbine engine, it should be appreciated that the methods are applicableto any system 11 as described in the preceding paragraphs.

Except where mutually exclusive, any of the features may be employedseparately or in combination with any other features and the disclosureextends to and includes all combinations and sub-combinations of one ormore features described herein.

What is claimed is:
 1. A computer-implemented method of controlling atleast one of a first robot and a second robot to collaborate within asystem, the first robot and the second robot being physically separateto one another, the method comprising: receiving sensed data associatedwith the second robot; determining at least one of a position and anorientation of the second robot using the received sensed data; storing,in a memory, data regarding a structure of an object on which the secondrobot is to perform an action; determining the action for the secondrobot using the stored data of the structure of the object and the atleast one of the determined position and the determined orientation ofthe second robot; generating a control signal based on the structure ofthe object and the at least one of the determined position and thedetermined orientation; and providing the control signal to the secondrobot to cause the second robot to perform the determined action tocollaborate with the first robot and avoid collisions with otherobjects.
 2. The computer-implemented method as claimed in claim 1,wherein the sensed data is associated with a first end of the secondrobot, the first end comprising one or more devices for performing thedetermined action.
 3. The computer-implemented method as claimed inclaim 1, further comprising controlling a three dimensional scanner toobtain the sensed data.
 4. The computer-implemented method as claimed inclaim 3, wherein the three dimensional scanner is mounted on the firstrobot.
 5. The computer-implemented method as claimed in claim 3, whereincontrolling the three dimensional scanner includes: controlling anemitter to emit electromagnetic waves, the sensed data being receivedfrom an electromagnetic wave sensor.
 6. The computer-implemented methodas claimed in claim 3, wherein controlling the three dimensional scannerincludes: controlling an ultrasonic transducer to emit ultrasonic waves,the sensed data being received from the ultrasonic transducer.
 7. Thecomputer-implemented method as claimed in claim 1, further comprisingcontrolling a magnetic transmitter arrangement to provide one or moremagnetic fields, the second robot being at least partially positionedwithin the one or more magnetic fields, the sensed data being receivedfrom a magnetic field sensor mounted on the second robot.
 8. Thecomputer-implemented method as claimed in claim 1, wherein thedetermined action includes movement relative to the system.
 9. Thecomputer-implemented method as claimed in claim 1, wherein thedetermined action includes holding an object within the system toprevent movement of the object within the system.
 10. Thecomputer-implemented method as claimed in claim 1, wherein thedetermined action includes obtaining one or more images of the firstrobot and/or the system.
 11. The computer-implemented method as claimedin claim 1, wherein the determined action includes machining an objectwithin the system.
 12. The computer-implemented method as claimed inclaim 1, further comprising: receiving sensed data associated with thefirst robot; determining position and/or orientation of the first robotusing the received sensed data; determining an action for the firstrobot using the determined position and/or orientation of the firstrobot; and providing a control signal to the first robot to cause thefirst robot to perform the determined action to collaborate with thesecond robot.
 13. A non-transitory computer readable storage mediumcomprising computer readable instructions that, when read by a computer,cause the computer to execute a method of controlling at least one of afirst robot and a second robot to collaborate within a system, the firstrobot and the second robot being physically separate to one another, themethod comprising: receiving sensed data associated with the secondrobot; determining at least one of a position and an orientation of thesecond robot using the received sensed data; storing, in a memory, dataregarding a structure of an object on which the second robot is toperform an action; determining the action for the second robot using thestored data of the structure of the object and the at least one of thedetermined position and the determined orientation of the second robot;generating a control signal based on the structure of the object and theat least one of the determined position and the determined orientation;and providing the control signal to the second robot to cause the secondrobot to perform the determined action to collaborate with the firstrobot and avoid collisions with other objects.
 14. An apparatus forcontrolling at least one of a first robot and a second robot tocollaborate within a system, the first robot and the second robot beingphysically separate to one another, the apparatus comprising acontroller configured to: receive sensed data associated with the secondrobot; determine position and/or orientation of the second robot usingthe received sensed data; determine an action for the second robot usingthe determined position and/or orientation of the second robot; andprovide a control signal to the second robot to cause the second robotto perform the determined action to collaborate with the first robot.15. The apparatus as claimed in claim 14, wherein the controller isconfigured to: receiving sensed data associated with the first robot;determining at least on of a position and an orientation of the firstrobot using the received sensed data; storing, in a memory, dataregarding a structure of an object on which the second robot is toperform an action; determining the action for the first robot using thestored data of the structure of the object and the at least one of thedetermined position and the determined orientation of the first robot;generating a control signal based on the structure of the object and theat least one of the determined position and the determined orientation;and providing the control signal to the first robot to cause the firstrobot to perform the determined action to collaborate with the secondrobot and avoid collisions with other objects.
 16. The apparatus asclaimed in claim 14, further comprising: the first robot including afirst controller and a first actuator; and the second robot including asecond controller and a second actuator.
 17. The apparatus as claimed inclaim 16, wherein the first robot is a continuum robot having a firstbase, the first controller and the first actuator being housed withinthe first base, and wherein the second robot is a continuum robot havinga second base, the second controller and the second actuator beinghoused within the second base, the first base and the second base beingmovable relative to one another.
 18. The apparatus as claimed in claim16, wherein the first robot and the second robot each comprise a firstend having an interface for interchangeably receiving at least a firstdevice and a second device.
 19. The apparatus as claimed in claim 18,wherein the first device includes one or more of: imaging apparatus;machining apparatus; clamping apparatus, and the second device includesone or more of: imaging apparatus; machining apparatus; clampingapparatus.